package domain.property;

import lombok.Getter;
import lombok.Setter;
import lombok.ToString;

import java.util.Map;

@Getter
@Setter
@ToString
public class DorisProperty {
  public static final String PARTITION_DYNAMIC = "dynamic";
  public static final String PARTITION_DEFAULT = "default";
  public static final String PARTITION_STATIC = "static";
  public static final String K_REPLICATION_NUM = "replication_num";
  public static final String K_REPLICATION_ALLOCATION = "replication_allocation";

  /**
   * 是否是外部表
   */
  private Boolean external;


  /**
   * 引擎OLAP、MYSQL、BROKER
   */
  private String engine;

  /**
   * 模型类型: AGGREGATE,UNIQUE,DUPLICATE
   */
  private String keysType;

  /**
   * key SQL
   */
  private String originKeySQL;

  /**
   * 分区类型常量dynamic、default、static
   */
  private String partitionType;

  /**
   * 分区语句
   */
  private String partition;

  /**
   * 动态分区参数
   */
  private DynamicPartition dynamicPartition;

  /**
   * 分桶语句
   */
  private String bucket;

  /**
   * 副本数
   */
  private Integer replicationNum;

  /**
   * 索引sql
   */
  private String indexSQL;

  /**
   * rollup SQL
   */
  private String rollupSQL;

  /**
   * 属性
   */
  private Map<String, String> properties;

  /**
   * broker属性
   */
  private Map<String, String> extProperties;
}
